package com.ruoyi.act.module.service.impl;

import com.ruoyi.act.module.domain.ActBizInfo;
import com.ruoyi.act.module.mapper.ActBizInfoMapper;
import com.ruoyi.act.module.service.IActBizInfoService;
import com.ruoyi.common.utils.DateUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.UUID;

/**
 * 工作流租户Service业务层处理
 *
 * @author hcj
 * @date 2020-12-24
 */
@Service("iActBizInfoService")
public class ActBizInfoServiceImpl implements IActBizInfoService {
    @Autowired
    private ActBizInfoMapper actBizInfoMapper;

    @Override
    public String selectSecretKeyByAppId(String appId) {
        ActBizInfo actBizInfo = actBizInfoMapper.selectSecretKeyByAppId(appId);
        if (actBizInfo==null){
            return null;
        }
        return actBizInfo.getSecretKey();
    }

    @Override
    public ActBizInfo selectByUserNameAndPassword(ActBizInfo actBizInfo) {
        if (StringUtils.isBlank(actBizInfo.getStatus())){
            actBizInfo.setStatus("1");//表示可用
        }
        return actBizInfoMapper.selectByUserNameAndPassword(actBizInfo);
    }

    /**
     * 查询工作流租户
     *
     * @param id 工作流租户ID
     * @return 工作流租户
     */
    @Override
    public ActBizInfo selectActBizInfoById(String id) {
        return actBizInfoMapper.selectActBizInfoById(id);
    }

    /**
     * 查询工作流租户列表
     *
     * @param actBizInfo 工作流租户
     * @return 工作流租户
     */
    @Override
    public List<ActBizInfo> selectActBizInfoList(ActBizInfo actBizInfo) {
        return actBizInfoMapper.selectActBizInfoList(actBizInfo);
    }

    /**
     * 新增工作流租户
     *
     * @param actBizInfo 工作流租户
     * @return 结果
     */
    @Override
    public int insertActBizInfo(ActBizInfo actBizInfo) {
        actBizInfo.setCreateTime(DateUtils.getNowDate());
        actBizInfo.setId(UUID.randomUUID().toString().replaceAll("-", ""));
        return actBizInfoMapper.insertActBizInfo(actBizInfo);
    }

    /**
     * 修改工作流租户
     *
     * @param actBizInfo 工作流租户
     * @return 结果
     */
    @Override
    public int updateActBizInfo(ActBizInfo actBizInfo) {
        actBizInfo.setUpdateTime(DateUtils.getNowDate());
        return actBizInfoMapper.updateActBizInfo(actBizInfo);
    }

    /**
     * 批量删除工作流租户
     *
     * @param ids 需要删除的工作流租户ID
     * @return 结果
     */
    @Override
    public int deleteActBizInfoByIds(String[] ids) {
        return actBizInfoMapper.deleteActBizInfoByIds(ids);
    }

    /**
     * 删除工作流租户信息
     *
     * @param id 工作流租户ID
     * @return 结果
     */
    @Override
    public int deleteActBizInfoById(String id) {
        return actBizInfoMapper.deleteActBizInfoById(id);
    }
}
